Objective

A simple program for keeping a log of transactions done to an account. I just wanted a simple way of getting the balance and running a spreadsheet seems like overkill.

Transactions are added by choosing “New Transaction” from the Edit menu. Fill in the dialog with the amount, type, date, and any comments about the transaction. Press save to add it to the end of the list.

The first transaction you add should be the opening balance of the account.

At the top of the document window is a running total that should reflect the balance in the account. Don’t forget bank, government charges and interest. The reconciled amount is the total of all the transactions that have been marked as reconciled, in other words, they have turned up on a bank statement.

Transactions can be deleted by clicking once and choosing “Clear” from the edit menu. Double-click on a transaction to edit it.

Display

You can increase or decrease the font size of the display (within reason). The width of the display is set by the current Page Setup page width. If you want it wider, choose 80% (or whatever).

Re-size columns by dragging the dotty boarders between the columns.

The bigger and smaller icons in the horizontal scroll bar area don’t really do what they do in other products, they are just a way to turn the font size up and down.

Short Cuts

The main scrolling window responds to the normal extended keyboard keys:
Home, End, Page Up, Page Down, Arrow up, Arrow down.
Option (or Control) with the up or down arrows will select the first or last entry.

Pressing return edits the highlited transaction.

Transactions can be marked (or unmarked) as “reconciled” either in the edit window or by pressing the option key clicking on it. (Reconciled transactions are shown with a ◊ marker in the first column and are included in the reconciled total at the top of the window).

Type Popup

The popup menu next to the type field in the transaction editor “learns” the types you use and adds new ones to its menu dynamically. The items are maintained in alphabetical order.

Export

This exports the data to a tab delimited text file that can be imported into spreadsheets or databases. Note that the reconciled tag is not exported.

Import

Imports a tab delimited text file with either return or newline characters at the end of each line. (This can read the exports from my old version 1.7). There is a simple preview dialog so you can check what field will go where. At the moment there are no facilities for re-ordering or skipping fields.

Report

Produces a window with a text report containing a summary of the amount of all transactions of each type and the total. This report can be printed or you can select the text and copy it to other applications.

Sort

The list can be sorted by date, type, amount, your or my reference. Simply click on the column title just like the Finder™.

The list stays sorted and new or edited transactions will stay in the sorted order.

Find…

Find presents a simple dialog asking for a string. The find starts at the currently selected transaction and moves down the list. To search the whole list you might like to press Option-UpArrow to select the first entry before finding.

Finding is case sensitive.

Find Again (Command-G) will continue searching for the same string from the next transaction. Currently Find searches all fields of a transaction for the sub-string you give.

AppleScript Support

This is really my “first cut” at AppleScript. I haven’t worked out the OSL stuff yet, but this allows you to get data into the CheckBook application and play around a bit. The following text is copied from Apple’s Script Editor:

CheckBook: A custom suite for working with the CheckBook account manager.

New Transaction: Creates a new, empty transaction in the database.

New Transaction

Amount  integer  -- The amount of the transaction in cents.

Date  string  -- Date of the transaction

My Reference  string  -- My reference number.

Their reference  string  -- Their reference number.

Type  string  -- Transaction type code.

Comments  string  -- Comments about the transaction

Beep: Beep a number of times for test purposes.

Beep  integer  -- The number of times to beep. 

Get Balance: Get the current balance of the account in cents.

Get Balance

Result:   integer  -- The balance of the check account in cents.

Sort by: Sort the transaction list by the given field.

Sort by  string  -- Sort by Date | Type | Ammount | MyRef | TheirRef | Comment

Old versions

This version will read, and when you save update, files created with the previously posted version 1.9. It will complain about past version’s files. You can get the data from earlier versions into this one by exporting to text and then importing into this version.

Rights to copy

This program is provided as is, you are free to copy and distribute it. I like those CDs full of public domain software and if you compile one of those you are free to put this on it on yours (thanks for the great CDs Ian & Stuart & AMUG!). I make no guarantees about the performance of the software so don’t bet your business on it without lots of testing.

Thanks to all those who have mailed me with bug reports, suggestions, or just nice thoughts. In particular: Keith E. Bell, Tony Stevenson, Sven Luetkemeier, Joerg Becker, Adolfo Villafiorita, John Burn, Julie Haskell, Michael Schlederer, Mitch Silverman, Vinay Gupta, David Rodriguera, Ron de Bruijn, Duane Whitehurst, Frank Holcomb, John Pinto, Halvor Nome, Spencer Marks, Ulrik Eklund, Werner a. Ubr, Ayse Sercan, Bill Stemmle, Howard A. Rumjahn, Jamie Cope, and many others who took the time to make contact.

Easter egg

Well, not very exciting. Hold the option key and choose about to see me in my junk room.

Technical mumbo-jumbo

Written with MacApp 3.1.3, Object Master, Metrowerks CodeWarrior.

Peter Marks
peterm@mpx.com.au
Peter.marks@eWorld.com